using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

using Statemanagement.Models;

namespace StateManagement {
  public class Program {
    public static void Main(string[] args) {
      var host = CreateHostBuilder(args).Build();
      using (var scope = host.Services.CreateScope()) {
        var services = scope.ServiceProvider;
        BookDbSeeder.Seed(services);
      }

      host.Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder => {
              webBuilder.UseStartup<Startup>();
            });
  }
}

